#!/usr/bin/env python3
# -*- coding: utf-8 -*-


class Person:
    def __init__(self): ...
    def get_name(self): ...
    def get_age(self): ...
    def chatting(self): ...

class Department:
    def __init__(self): ...
    def get_department(self): ...

class Enployee(Person):
    def get_hired(self): ...
    def get_fired(self): ...
    def give_raised(self): ...
    def leaving(self): ...

class Manager(Person):
    def fire_unlucky(self): ...
    def meeting(self): ...
    def leaving(self): ...

class Dev(Department):
    def produce_bugs(self): ...
    def looping_debugging(self): ...

class QA(Department):
    def complain_everything(self): ...
    def missing_bugs(self): ...

class Design(Department):
    def remember_nothing(self): ...
    def doc_shits(self): ...

class Boss(Department, Manager):
    def bluffing(self): ...
    def ignoring(self): ...
    def shitting_on_anybodies_heads(self): ...

class ChiefProgrammer(Dev, Manager):
    def setup_infrastructure(self): ...

class QAManager(QA, Manager):
    def make_test_plan(self): ...

class ChiefDesigner(Design, Manager):
    def provide_creative(self): ...

class SeniorQA(QA, Enployee): ...

class SeniorProgrammer(Dev, Enployee): ...

class SeniorDesigner(Design, Enployee): ...


if __name__ == '__main__':
    print('Every gets seat')
    Frank = Boss()
    Pete = ChiefProgrammer()
    Alex = QAManager()
    Julian = ChiefDesigner()
    Karl = SeniorProgrammer()
    Lexi = SeniorQA()
    Lucas = SeniorDesigner()

    print('Project ready to start...')
    Frank.bluffing()
    Frank.meeting()
    Pete.meeting()
    Julian.meeting()
    Alex.meeting()
    print()

    print('Project start officially...')
    Julian.provide_creative()
    Pete.setup_infrastructure()
    Alex.make_test_plan()
    print()

    print('Project is processing...')
    Lexi.chatting()
    Lucas.doc_shits()
    Karl.produce_bugs()
    Lexi.complain_everything()
    Lucas.remember_nothing()
    Karl.looping_debugging()
    Lexi.missing_bugs()
    Lucas.chatting()
    Karl.looping_debugging()
    Karl.produce_bugs()
    Karl.looping_debugging()
    Karl.produce_bugs()
    Lucas.remember_nothing()
    Lexi.complain_everything()
    Lucas.chatting()
    Karl.looping_debugging()
    print()

    print('Project is ready to release...')
    Frank.meeting()
    Pete.meeting()
    Julian.meeting()
    Alex.meeting()
    Frank.ignoring()
    Pete.looping_debugging()
    Julian.remember_nothing()
    Alex.complain_everything()
    print()

    print('Everyone find the project is a piece of crack...')
    Frank.shitting_on_anybodies_heads()
    Frank.fire_unlucky()
    Lucas.get_fired()
    Alex.leaving()
    Lexi.give_raised()
    print()

    print('A new round nightmare ready to start...')
    someone_else_01 = SeniorDesigner()
    someone_else_01.get_hired()
    someone_else_02 = SeniorQA()
    someone_else_02.get_hired()
    Frank.bluffing()
    ...
